package com.junjiao.util.web;

import java.util.Enumeration;
import java.util.Map;
import java.util.Vector;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
/**
 * 
 * @description:   <br>
 * @author:jiaojun
 * @email:junjiao.j@gmail.com
 * @project:汽车问答 zhidao.51auto.com
 * @version:v0.2
 * @date:2013-5-21
 */
public class ParameterRequestWrapper extends HttpServletRequestWrapper{
	private Map params;
	public ParameterRequestWrapper(HttpServletRequest request,Map newParams) {
	  super(request);
	  this.params=newParams;
	}
	public Map getParameterMap() {
	  return params;
	}
	public Enumeration getParameterNames() {
	  Vector l=new Vector(params.keySet());
	  return l.elements();
	}
	public String[] getParameterValues(String name) {
	  Object v = params.get(name);
	  if(v==null){
	    return null;
	  }else if(v instanceof String[]){
	    return (String[]) v;
	  }else if(v instanceof String){
	    return new String[]{(String) v};
	  }else{
	    return new String[]{v.toString()};
	  }
	}
	public String getParameter(String name) {
	  Object v = params.get(name);
	  if(v==null){
	    return null;
	  }else if(v instanceof String[]){        	
	    String []strArr=(String[]) v;
	    if(strArr.length>0){
	      return strArr[0];
	    }else{
	      return null;
	    }
	  }else if(v instanceof String){
	    return (String) v;
	  }else{
	    return v.toString();
	  }
	}    
}
